package com.kqb.sgadmin.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;

import lombok.Data;

/**
 * 权限表
 *
 * @TableName t_permission
 */
@TableName(value = "t_permission")
@Data
public class Permission implements Serializable {
    /**
     * 权限ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 权限名称
     */
    @TableField(value = "title")
    private String title;

    /**
     * 权限类型（1-目录，2-菜单，3-按钮）
     */
    @TableField(value = "perm_type")
    private Integer permType;

    /**
     * 权限唯一标识（如:user:add）
     */
    @TableField(value = "perm_key")
    private String permKey;

    /**
     * 父权限ID
     */
    @TableField(value = "parent_id")
    private Integer parentId;

    /**
     * 路由地址
     */
    @TableField(value = "path")
    private String path;

    /**
     * 路由名称
     */
    @TableField(value = "name")
    private String name;

    /**
     * 图标
     */
    @TableField(value = "icon")
    private String icon;

    /**
     * 是否隐藏（0-否，1-是）
     */
    @TableField(value = "hidden")
    private Boolean hidden;

    /**
     * vue组件路径
     */
    @TableField(value = "component")
    private String component;

    /**
     * 显示顺序
     */
    @TableField(value = "sort")
    private Integer sort;

    /**
     * 状态（0-禁用，1-启用）
     */
    @TableField(value = "status")
    private Integer status;

    /**
     * 创建时间
     */
    @TableField(value = "create_at")
    private Date createAt;

    /**
     * 更新时间
     */
    @TableField(value = "update_at")
    private Date updateAt;

    /**
     * 重定向地址
     */
    @TableField(value = "redirect")
    private String redirect;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}